<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <title>Vue.set的使用</title>
  <!-- 引入Vue -->
  <script type="text/javascript" src="../js/vue.js"></script>
</head>

<body>
  <!-- 准备好一个容器-->
  <div id="root">
    <h1>学校信息</h1>
    <h2>学校名称：{{school.name}}</h2>
    <h2>学校地址：{{school.address}}</h2>
    <h2>校长是：{{school.leader}}</h2>
    <hr />
    <h1>学生信息</h1>
    <button @click="addSex">添加一个性别属性，默认值是男</button>
    <button @click="addFriend">把杰哥添加到好友列表</button>
    <h2>姓名：{{student.name}}</h2>
    <h2 v-if="student.sex">性别：{{student.sex}}</h2>
    <h2>年龄：真实{{student.age.rAge}}，对外{{student.age.sAge}}</h2>
    <h2>好友列表：</h2>
    <ul>
      <li v-for="(f,index) in student.friends" :key="index">
        {{f.name}}--{{f.age}}
      </li>
    </ul>
  </div>
</body>

<script type="text/javascript">
  Vue.config.productionTip = false; // 阻止Vue在启动时生成生产提示。

  const vm = new Vue({
    el: "#root",
    data: {
      school: {
        name: "尚硅谷",
        address: "北京"
      },
      student: {
        name: "tom",
        age: {
          rAge: 40,
          sAge: 29
        },
        friends: [
          { name: "jerry", age: 35 },
          { name: "tony", age: 36 }
        ]
      }
    },
    methods: {
      addSex() {
        // Vue.set(this.student,'sex','男')
        this.$set(this.student, "sex", "男");
      },
      addFriend() {
        Vue.set(this.student.friends, "2", { name: "杰哥", age: 30 });
        // this.$set(this.student.friends, "2", { name: "杰哥", age: 30 });
      }
    }
  });
</script>

</html>